package cn.iocoder.yudao.module.lfd.controller.admin.appointment.vo;

import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 预约分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AppointmentPageReqVO extends PageParam {

    @Schema(description = "openid", example = "32597")
    private String openid;

    @Schema(description = "流水号")
    private String flowNo;

    @Schema(description = "店铺id", example = "7484")
    private Integer shopId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "状态", example = "2")
    private String status;

    @Schema(description = "理发师id", example = "10578")
    private Long barberId;

    @Schema(description = "等待时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] waitTime;

    @Schema(description = "等待人数", example = "29807")
    private Integer waitCount;

    @Schema(description = "金额")
    private BigDecimal money;

    @Schema(description = "开始理发的时间，当前用户需要的时间-（现在-开始时间）")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] startHairTime;

    @Schema(description = "顾客id", example = "17336")
    private Long customerId;
    private LocalDateTime hairDate;
}
